﻿using System;
using System.ComponentModel;
using System.Collections;
using System.Collections.ObjectModel;
using System.ComponentModel.DataAnnotations;
using System.Windows.Input;

namespace ExpressionSerialization
{
    public class ProductLocal : INotifyPropertyChanged
    {
      [Key()]
      public Guid ProductID { get; set; }
      [StringLength(50)]
      public string Name { get; set; }
      [StringLength(25)]
      public string ProductNumber { get; set; }
      [StringLength(15)]
      public string Color { get; set; }
      public decimal StandardCost { get; set; }
      public decimal ListPrice { get; set; }
      public int Size { get; set; }
      public decimal Weight { get; set; } //decimal
      public DateTime SellStartDate { get; set; }

      public event PropertyChangedEventHandler PropertyChanged;
      public void OnPropertyChanged(string propertyName)
      {
        if(PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
      }
    }

    public class ProductsLocal : ObservableCollection<ProductLocal>
    {
    }

}
